package com.example.canteen.service.impl;

import com.example.canteen.domain.Suppliers;
import com.example.canteen.mapper.SuppliersMapper;
import com.example.canteen.service.SuppliersService;

import org.apache.logging.log4j.util.Supplier;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SuppliersServiceImpl implements SuppliersService {
    @Autowired
    private SuppliersMapper suppliersMapper;

    @Override
    public List<Suppliers> selectAllSuppliers() {
        return suppliersMapper.getAll();
    }

    @Override
    public Suppliers selectSuppliersById(int supplierID) {
        return suppliersMapper.selectById(supplierID);
    }

    @Override
    public int insertSuppliers(Suppliers suppliers) {
        return SuppliersMapper.insertSuppliers((Suppliers) suppliers);
    }

    @Override
    public int updateSuppliers(Suppliers suppliers) {
        return SuppliersMapper.updateSuppliers((Suppliers) suppliers);
    }

    @Override
    public boolean selectSuppliersByName(String supplierName) {
        return false;
    }

//    @Override
//    public int deleteSuppliersByID(int SupplierID) {
//        return suppliersMapper.deleteSuppliersById(SupplierID);
//    }

    //    @Override
//    public Suppliers selectById(int SupplierID){
//        return suppliersMapper.selectById((int) SupplierID);
//    }
//    @Override
//    public int insertSuppliers(Supplier supplier) {
//        //注意这里没写太全，大家可以自行完善，完善点的可以是
//        //1 先保证用户名不存在，防止重名出现
//        //2 给password字段做加密存储，简单的就是用md5
//        //3 注意如果这里加密了，在下面的登录方法里一样需要加密，否则数据库验证永远失败
//        return suppliersMapper.insertSuppliers(supplier);
//    }
//    @Override
//    public int updateSuppliers(Supplier supplier) {
//        //这个方法可以扩展，如果你把它认为成管理员修改密码那这个方法目前没有问题
//        //但是如果是用户自己想修改密码呢，整个方法的参数就变了，需要有旧密码作为参数传递过来，先验证旧密码是否正确才能修改
//        //如果忘了旧密码怎么办？ 通常还得有个重置密码的方法，那么在注册的时候，就可以加保密问题或者邮箱之类的，如果能够正确验证保密问题或者邮箱，才可以重置
//        return suppliersMapper.updateSuppliers(supplier);
////    }
//    @Override
//    public int DeleteSuppliers(int id) {
//        return suppliersMapper.deleteSuppliersByID(id);
//    }
}